package com.liu.eduService.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.liu.eduService.entity.EduCourse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liu.eduService.entity.FrontVo.FrontCourseAllInfoVo;
import com.liu.eduService.entity.FrontVo.FrontCourseQuery;
import com.liu.eduService.entity.vo.CourseInfoVo;
import com.liu.eduService.entity.vo.CoursePublishVo;
import com.liu.eduService.entity.vo.CourseQuery;
import org.springframework.beans.factory.annotation.Value;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 课程 服务类
 * </p>
 *
 * @author LSJ
 * @since 2022-01-07
 */
public interface EduCourseService extends IService<EduCourse> {

    String saveCourse(CourseInfoVo course);

    CourseInfoVo getCourse(String courseId);

    Boolean updateCourse(CourseInfoVo courseInfoVo);

    CoursePublishVo getCoursePublishInfo(String courseId);

    int publishCourse(String courseId);

    void pageQuery(Page<EduCourse> pageParam, CourseQuery courseQuery);

    Boolean DeleteCourseById(String courseId);

    List<EduCourse> getHostCourse();

    List<EduCourse> getCourseListByTeacherId(String teacherid);

    Map<String, Object> queryFrontCourse(Page<EduCourse> coursePage, FrontCourseQuery courseQuery);

    FrontCourseAllInfoVo getCourseAllInfo(String courseId);

    void updateCourseViewCount(String courseId);
}
